c725ae32811fdb0bb59aa93c565dd98d8dee4407,opennms-provision/opennms-detector-lineoriented/src/test/java/org/opennms/netmgt/provision/detector/AsyncDetectorFileDescriptorLeakTest.java,AsyncDetectorFileDescriptorLeakTest,testSucessServer,#,58
Before Change
for (int i = 0; i < 10000; i++) {
setUp();
System.err.println("current loop: " + i);
m_server = new SimpleServer() {
public void onInit() {
setBanner("Winner");
}
};
m_server.init();
m_server.startServer();
assertNotNull(m_detector);
assertNotNull(m_server.getLocalPort());
m_detector.setPort(m_server.getLocalPort());
DetectFuture future = m_detector.isServiceDetected(m_server.getInetAddress(), new NullDetectorMonitor());
future.addListener(new IoFutureListener<DetectFuture>() {
public void operationComplete(DetectFuture future) {
TcpDetector detector = m_detector;
m_detector = null;
detector.dispose();
}
});
future.awaitUninterruptibly();
assertNotNull(future);
assertTrue(future.isServiceDetected());
m_server.stopServer();
m_server = null;
}
}
After Change
@Test
public void testSucessServer() throws Throwable {
setUpServer();
int port = m_server.getLocalPort();
InetAddress address = m_server.getInetAddress();
for (int i = 0; i < 10000; i++) {
setUp();
System.err.println("current loop: " + i);
assertNotNull(m_detector);
final TcpDetector detector = m_detector.get();
detector.setPort(port);
DefaultDetectFuture future = (DefaultDetectFuture)detector.isServiceDetected(address, new NullDetectorMonitor());
future.addListener(new IoFutureListener<DetectFuture>() {
public void operationComplete(DetectFuture future) {
detector.dispose();
}
});
future.awaitUninterruptibly();
assertNotNull(future);
if (future.getException() != null) {
System.err.println("got future exception: " + future.getException());
throw future.getException();
}
System.err.println("got value: " + future.getObjectValue());
assertTrue(future.isServiceDetected());
m_detector.set(null);
}
tearDownServer();
}